\hypertarget{libz800_8h}{
\section{libz800.h File Reference}
\label{libz800_8h}\index{libz800.h@{libz800.h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structz800__calibration__data}{z800\_\-calibration\_\-data}
\begin{DoxyCompactList}\small\item\em Tracker calibration data. \item\end{DoxyCompactList}\item 
struct \hyperlink{structz800__property}{z800\_\-property}
\begin{DoxyCompactList}\small\item\em Various meta-\/information for a Z800 property stored in EEPROM on the device. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} \hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \{ \hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061aec0d301eb7e1ab8eceb13afbd169c780}{Z800\_\-FALSE}, 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061a98136785d501ef35ff59dfc76e091599}{Z800\_\-TRUE}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$ \hyperlink{libz800_8h_a25acff106ab0ebc5285d46098e5ff6b5}{z800\_\-connect} (int debug\_\-level)
\item 
void \hyperlink{libz800_8h_aec8c75025d02166a37b27f1cece07932}{z800\_\-disconnect} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
void \hyperlink{libz800_8h_ac45cc94dcaee65af97ed0b6ef1dabd9f}{z800\_\-set\_\-debug\_\-level} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, int debug\_\-level)
\item 
int \hyperlink{libz800_8h_a24d865a3d7a513abee504259d9ba8b5b}{z800\_\-get\_\-firmware\_\-version} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a64fb7ff1d0e3577b6228325123b86f1e}{z800\_\-wake} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a1569bf7eb47b40a9552e9ac3559f8c1e}{z800\_\-set\_\-stereo\_\-mode} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, \hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} enabled)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a489df15aba60ddd29e9005d186997a37}{z800\_\-flip\_\-stereo} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_abfe9943d108f11e9861c90875cf2eb35}{z800\_\-step\_\-brightness} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a5e4108bd3a25d78c74e4d6134ace6c6f}{z800\_\-poll\_\-tracker} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a6c98cca7c320318cadc0a6bf11c3b7f0}{z800\_\-get\_\-raw\_\-tracker\_\-data} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, float($\ast$gyr)\mbox{[}3\mbox{]}, float($\ast$acc)\mbox{[}3\mbox{]}, float($\ast$mag)\mbox{[}3\mbox{]})
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a0f413aaf80639ee052726b34b5cf885d}{z800\_\-get\_\-calibrated\_\-tracker\_\-data} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, float($\ast$gyr)\mbox{[}3\mbox{]}, float($\ast$acc)\mbox{[}3\mbox{]}, float($\ast$mag)\mbox{[}3\mbox{]})
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a4bb240a2a09ae45e7603b974ee9445e2}{z800\_\-get\_\-calibration\_\-data} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, struct \hyperlink{structz800__calibration__data}{z800\_\-calibration\_\-data} $\ast$data)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a45c8e2c63c46a3bb31997826e64b5f6d}{z800\_\-set\_\-calibration\_\-data} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, const struct \hyperlink{structz800__calibration__data}{z800\_\-calibration\_\-data} $\ast$data)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a3d5799ce2e02774524e7d042df3631eb}{z800\_\-get\_\-gyro\_\-speed} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, float($\ast$gyr)\mbox{[}3\mbox{]})
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a34aad9101c5a590b1402bb5c359ae5c0}{z800\_\-get\_\-stabilization} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, double($\ast$q)\mbox{[}4\mbox{]})
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a57f8f1dc735789a59c519195aeaeeb5c}{z800\_\-get\_\-orientation} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, double($\ast$q)\mbox{[}4\mbox{]})
\item 
const char $\ast$const $\ast$ \hyperlink{libz800_8h_a34bc6370e81b3cb86d4713eabe970b48}{z800\_\-get\_\-properties} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a62f5144b3ba0b9661a95a87be712a950}{z800\_\-get\_\-property\_\-meta\_\-info} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, const char $\ast$name, struct \hyperlink{structz800__property}{z800\_\-property} $\ast$prop)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_a9520134d7238b6da759ad6c630d43b5a}{z800\_\-read\_\-property} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, const char $\ast$name, int $\ast$value, \hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} right\_\-display)
\item 
\hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} \hyperlink{libz800_8h_ab0233bf367434b037ace507d94078a7d}{z800\_\-write\_\-property} (\hyperlink{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{z800\_\-device} $\ast$dev, const char $\ast$name, int value, \hyperlink{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{z800\_\-bool} right\_\-display)
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}{
\index{libz800.h@{libz800.h}!z800\_\-device@{z800\_\-device}}
\index{z800\_\-device@{z800\_\-device}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-device}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf z800\_\-device} {\bf z800\_\-device}}}
\label{libz800_8h_ae0ce06186c93fca67c23d59673543d2d}
Opaque structure representing an active connection to an attached Z800 device, storing all data related to communication and filtering. 

\subsection{Enumeration Type Documentation}
\hypertarget{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}{
\index{libz800.h@{libz800.h}!z800\_\-bool@{z800\_\-bool}}
\index{z800\_\-bool@{z800\_\-bool}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-bool}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf z800\_\-bool}}}
\label{libz800_8h_a7fec2309686d0b281be1d924ec0eb061}
\begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{Z800\_\-FALSE@{Z800\_\-FALSE}!libz800.h@{libz800.h}}\index{libz800.h@{libz800.h}!Z800\_\-FALSE@{Z800\_\-FALSE}}\item[{\em 
\hypertarget{libz800_8h_a7fec2309686d0b281be1d924ec0eb061aec0d301eb7e1ab8eceb13afbd169c780}{
Z800\_\-FALSE}
\label{libz800_8h_a7fec2309686d0b281be1d924ec0eb061aec0d301eb7e1ab8eceb13afbd169c780}
}]\index{Z800\_\-TRUE@{Z800\_\-TRUE}!libz800.h@{libz800.h}}\index{libz800.h@{libz800.h}!Z800\_\-TRUE@{Z800\_\-TRUE}}\item[{\em 
\hypertarget{libz800_8h_a7fec2309686d0b281be1d924ec0eb061a98136785d501ef35ff59dfc76e091599}{
Z800\_\-TRUE}
\label{libz800_8h_a7fec2309686d0b281be1d924ec0eb061a98136785d501ef35ff59dfc76e091599}
}]\end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{libz800_8h_a25acff106ab0ebc5285d46098e5ff6b5}{
\index{libz800.h@{libz800.h}!z800\_\-connect@{z800\_\-connect}}
\index{z800\_\-connect@{z800\_\-connect}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-connect}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-device}$\ast$ z800\_\-connect (int {\em debug\_\-level})}}
\label{libz800_8h_a25acff106ab0ebc5285d46098e5ff6b5}
Connects to an attached Z800 device.

\begin{DoxyReturn}{Returns}
a handle representing the connection on success. 

NULL on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_aec8c75025d02166a37b27f1cece07932}{
\index{libz800.h@{libz800.h}!z800\_\-disconnect@{z800\_\-disconnect}}
\index{z800\_\-disconnect@{z800\_\-disconnect}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-disconnect}]{\setlength{\rightskip}{0pt plus 5cm}void z800\_\-disconnect ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_aec8c75025d02166a37b27f1cece07932}
Disconnects from a Z800 device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to disconnect from.\end{DoxyParams}
\begin{DoxyNote}{Note}
After calling this function the passed handle is no longer valid and must not be passed to any other function. 
\end{DoxyNote}
\hypertarget{libz800_8h_a489df15aba60ddd29e9005d186997a37}{
\index{libz800.h@{libz800.h}!z800\_\-flip\_\-stereo@{z800\_\-flip\_\-stereo}}
\index{z800\_\-flip\_\-stereo@{z800\_\-flip\_\-stereo}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-flip\_\-stereo}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-flip\_\-stereo ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_a489df15aba60ddd29e9005d186997a37}
Flips the left and right eye of a device in stereo mode.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to flip the left and right eye for.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a0f413aaf80639ee052726b34b5cf885d}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-calibrated\_\-tracker\_\-data@{z800\_\-get\_\-calibrated\_\-tracker\_\-data}}
\index{z800\_\-get\_\-calibrated\_\-tracker\_\-data@{z800\_\-get\_\-calibrated\_\-tracker\_\-data}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-calibrated\_\-tracker\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-calibrated\_\-tracker\_\-data ({\bf z800\_\-device} $\ast$ {\em dev}, \/  float($\ast$) {\em gyr}\mbox{[}3\mbox{]}, \/  float($\ast$) {\em acc}\mbox{[}3\mbox{]}, \/  float($\ast$) {\em mag}\mbox{[}3\mbox{]})}}
\label{libz800_8h_a0f413aaf80639ee052726b34b5cf885d}
Obtains partially processed tracker data from the attached device with the accelerometer and magnetometer values filtered and calibrated.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the tracker data from. \item[{\em gyr}]Pointer to an array of 3 floats to retrieve the normalized gyro speeds (XYZ). \item[{\em acc}]Pointer to an array of 3 floats to retrieve the normalized, filtered and calibrated acceleration vector (XYZ). \item[{\em mag}]Pointer to an array of 3 floats to retrieve the normalized, filtered and calibrated magnetic vector (XYZ).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
All values are retrieved in undefined units between the range \mbox{[}-\/1..1\mbox{]} 
\end{DoxyNote}
\hypertarget{libz800_8h_a4bb240a2a09ae45e7603b974ee9445e2}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-calibration\_\-data@{z800\_\-get\_\-calibration\_\-data}}
\index{z800\_\-get\_\-calibration\_\-data@{z800\_\-get\_\-calibration\_\-data}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-calibration\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-calibration\_\-data ({\bf z800\_\-device} $\ast$ {\em dev}, \/  struct {\bf z800\_\-calibration\_\-data} $\ast$ {\em data})}}
\label{libz800_8h_a4bb240a2a09ae45e7603b974ee9445e2}
Obtains the current calibration data from a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the calibration data from.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a24d865a3d7a513abee504259d9ba8b5b}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-firmware\_\-version@{z800\_\-get\_\-firmware\_\-version}}
\index{z800\_\-get\_\-firmware\_\-version@{z800\_\-get\_\-firmware\_\-version}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-firmware\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}int z800\_\-get\_\-firmware\_\-version ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_a24d865a3d7a513abee504259d9ba8b5b}
Retrieves the firmware version of a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the firmware version data from.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
(major $<$$<$ 8) $|$ minor on success. 

-\/1 on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a3d5799ce2e02774524e7d042df3631eb}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-gyro\_\-speed@{z800\_\-get\_\-gyro\_\-speed}}
\index{z800\_\-get\_\-gyro\_\-speed@{z800\_\-get\_\-gyro\_\-speed}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-gyro\_\-speed}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-gyro\_\-speed ({\bf z800\_\-device} $\ast$ {\em dev}, \/  float($\ast$) {\em gyr}\mbox{[}3\mbox{]})}}
\label{libz800_8h_a3d5799ce2e02774524e7d042df3631eb}
Obtains the (calibrated) gyro speeds in radians per second.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the gyro speeds from. \item[{\em gyr}]Pointer to an array of 3 floats to retrieve the normalized gyro speeds (XYZ).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Concerning the calibration performed both offset and gain are calculated into the speeds retrieved by this function. Cutoff however is not. 
\end{DoxyNote}
\hypertarget{libz800_8h_a57f8f1dc735789a59c519195aeaeeb5c}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-orientation@{z800\_\-get\_\-orientation}}
\index{z800\_\-get\_\-orientation@{z800\_\-get\_\-orientation}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-orientation}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-orientation ({\bf z800\_\-device} $\ast$ {\em dev}, \/  double($\ast$) {\em q}\mbox{[}4\mbox{]})}}
\label{libz800_8h_a57f8f1dc735789a59c519195aeaeeb5c}
Obtains the calculcated orientation after calibration and filtering as a quaternion.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the orientation from. \item[{\em q}]Pointer to an array of 4 floats to retrieve the orientation (XYZW).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a34bc6370e81b3cb86d4713eabe970b48}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-properties@{z800\_\-get\_\-properties}}
\index{z800\_\-get\_\-properties@{z800\_\-get\_\-properties}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-properties}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ const$\ast$ z800\_\-get\_\-properties ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_a34bc6370e81b3cb86d4713eabe970b48}
Obtains the list of EEPROM properties stored in a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the list of properites from.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Pointer to a NULL terminated array of strings on success. 

NULL on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a62f5144b3ba0b9661a95a87be712a950}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-property\_\-meta\_\-info@{z800\_\-get\_\-property\_\-meta\_\-info}}
\index{z800\_\-get\_\-property\_\-meta\_\-info@{z800\_\-get\_\-property\_\-meta\_\-info}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-property\_\-meta\_\-info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-property\_\-meta\_\-info ({\bf z800\_\-device} $\ast$ {\em dev}, \/  const char $\ast$ {\em name}, \/  struct {\bf z800\_\-property} $\ast$ {\em prop})}}
\label{libz800_8h_a62f5144b3ba0b9661a95a87be712a950}
Obtains (constant) meta-\/data about a EEPROM property.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the meta-\/data from. \item[{\em name}]Then name of the property. \item[{\em prop}]Pointer to a \hyperlink{structz800__property}{z800\_\-property} stucture to receive the meta-\/data.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a6c98cca7c320318cadc0a6bf11c3b7f0}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-raw\_\-tracker\_\-data@{z800\_\-get\_\-raw\_\-tracker\_\-data}}
\index{z800\_\-get\_\-raw\_\-tracker\_\-data@{z800\_\-get\_\-raw\_\-tracker\_\-data}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-raw\_\-tracker\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-raw\_\-tracker\_\-data ({\bf z800\_\-device} $\ast$ {\em dev}, \/  float($\ast$) {\em gyr}\mbox{[}3\mbox{]}, \/  float($\ast$) {\em acc}\mbox{[}3\mbox{]}, \/  float($\ast$) {\em mag}\mbox{[}3\mbox{]})}}
\label{libz800_8h_a6c98cca7c320318cadc0a6bf11c3b7f0}
Obtains the raw tracker data from the attached device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the raw tracker data from. \item[{\em gyr}]Pointer to an array of 3 floats to retrieve the normalized gyro speeds (XYZ). \item[{\em acc}]Pointer to an array of 3 floats to retrieve the normalized acceleration vector (XYZ). \item[{\em mag}]Pointer to an array of 3 floats to retrieve the normalized magnetic vector (XYZ).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
All values are retrieved in undefined units between the range \mbox{[}-\/1..1\mbox{]} 
\end{DoxyNote}
\hypertarget{libz800_8h_a34aad9101c5a590b1402bb5c359ae5c0}{
\index{libz800.h@{libz800.h}!z800\_\-get\_\-stabilization@{z800\_\-get\_\-stabilization}}
\index{z800\_\-get\_\-stabilization@{z800\_\-get\_\-stabilization}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-get\_\-stabilization}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-get\_\-stabilization ({\bf z800\_\-device} $\ast$ {\em dev}, \/  double($\ast$) {\em q}\mbox{[}4\mbox{]})}}
\label{libz800_8h_a34aad9101c5a590b1402bb5c359ae5c0}
Obtains the measured (combined) magnetometer and accelerometer orientation used to stabilize the calculated calibration.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to obtain the stabilization orientation from. \item[{\em q}]Pointer to an array of 4 floats to retrieve the stabilization orientation (XYZW).\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a5e4108bd3a25d78c74e4d6134ace6c6f}{
\index{libz800.h@{libz800.h}!z800\_\-poll\_\-tracker@{z800\_\-poll\_\-tracker}}
\index{z800\_\-poll\_\-tracker@{z800\_\-poll\_\-tracker}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-poll\_\-tracker}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-poll\_\-tracker ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_a5e4108bd3a25d78c74e4d6134ace6c6f}
Polls the tracker data from a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to poll the tracker data from.\end{DoxyParams}
\begin{DoxyNote}{Note}
This function must be called before \hyperlink{libz800_8h_a6c98cca7c320318cadc0a6bf11c3b7f0}{z800\_\-get\_\-raw\_\-tracker\_\-data()}, \hyperlink{libz800_8h_a3d5799ce2e02774524e7d042df3631eb}{z800\_\-get\_\-gyro\_\-speed()}, \hyperlink{libz800_8h_a34aad9101c5a590b1402bb5c359ae5c0}{z800\_\-get\_\-stabilization()} and/or \hyperlink{libz800_8h_a57f8f1dc735789a59c519195aeaeeb5c}{z800\_\-get\_\-orientation()}.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a9520134d7238b6da759ad6c630d43b5a}{
\index{libz800.h@{libz800.h}!z800\_\-read\_\-property@{z800\_\-read\_\-property}}
\index{z800\_\-read\_\-property@{z800\_\-read\_\-property}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-read\_\-property}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-read\_\-property ({\bf z800\_\-device} $\ast$ {\em dev}, \/  const char $\ast$ {\em name}, \/  int $\ast$ {\em value}, \/  {\bf z800\_\-bool} {\em right\_\-display})}}
\label{libz800_8h_a9520134d7238b6da759ad6c630d43b5a}
Reads a EEPROM propery's value from the device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to read the data from. \item[{\em name}]Then name of the property. \item[{\em value}]Pointer to an integer to store the result. \item[{\em right\_\-display}]Whether to access the right or left's display property.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a45c8e2c63c46a3bb31997826e64b5f6d}{
\index{libz800.h@{libz800.h}!z800\_\-set\_\-calibration\_\-data@{z800\_\-set\_\-calibration\_\-data}}
\index{z800\_\-set\_\-calibration\_\-data@{z800\_\-set\_\-calibration\_\-data}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-set\_\-calibration\_\-data}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-set\_\-calibration\_\-data ({\bf z800\_\-device} $\ast$ {\em dev}, \/  const struct {\bf z800\_\-calibration\_\-data} $\ast$ {\em data})}}
\label{libz800_8h_a45c8e2c63c46a3bb31997826e64b5f6d}
Sets the calibration data for a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to set the calibration data for. \item[{\em data}]Pointer to the new calibration data.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_ac45cc94dcaee65af97ed0b6ef1dabd9f}{
\index{libz800.h@{libz800.h}!z800\_\-set\_\-debug\_\-level@{z800\_\-set\_\-debug\_\-level}}
\index{z800\_\-set\_\-debug\_\-level@{z800\_\-set\_\-debug\_\-level}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-set\_\-debug\_\-level}]{\setlength{\rightskip}{0pt plus 5cm}void z800\_\-set\_\-debug\_\-level ({\bf z800\_\-device} $\ast$ {\em dev}, \/  int {\em debug\_\-level})}}
\label{libz800_8h_ac45cc94dcaee65af97ed0b6ef1dabd9f}
Sets the debug level of a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to set the debug level off. \item[{\em debug\_\-level}]The debug level to set. \end{DoxyParams}
\hypertarget{libz800_8h_a1569bf7eb47b40a9552e9ac3559f8c1e}{
\index{libz800.h@{libz800.h}!z800\_\-set\_\-stereo\_\-mode@{z800\_\-set\_\-stereo\_\-mode}}
\index{z800\_\-set\_\-stereo\_\-mode@{z800\_\-set\_\-stereo\_\-mode}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-set\_\-stereo\_\-mode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-set\_\-stereo\_\-mode ({\bf z800\_\-device} $\ast$ {\em dev}, \/  {\bf z800\_\-bool} {\em enabled})}}
\label{libz800_8h_a1569bf7eb47b40a9552e9ac3559f8c1e}
Enables / disables the stereo mode of a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to enable / disable the stereo mode for. \item[{\em enabled}]Whether to enable or disable the stereo mode.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_abfe9943d108f11e9861c90875cf2eb35}{
\index{libz800.h@{libz800.h}!z800\_\-step\_\-brightness@{z800\_\-step\_\-brightness}}
\index{z800\_\-step\_\-brightness@{z800\_\-step\_\-brightness}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-step\_\-brightness}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-step\_\-brightness ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_abfe9943d108f11e9861c90875cf2eb35}
Steps up the display brightness of a device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to step up the brightness for.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_a64fb7ff1d0e3577b6228325123b86f1e}{
\index{libz800.h@{libz800.h}!z800\_\-wake@{z800\_\-wake}}
\index{z800\_\-wake@{z800\_\-wake}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-wake}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-wake ({\bf z800\_\-device} $\ast$ {\em dev})}}
\label{libz800_8h_a64fb7ff1d0e3577b6228325123b86f1e}
Awakes a device from standby or resets the standby timer.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to wake.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure. 
\end{DoxyReturn}
\hypertarget{libz800_8h_ab0233bf367434b037ace507d94078a7d}{
\index{libz800.h@{libz800.h}!z800\_\-write\_\-property@{z800\_\-write\_\-property}}
\index{z800\_\-write\_\-property@{z800\_\-write\_\-property}!libz800.h@{libz800.h}}
\subsubsection[{z800\_\-write\_\-property}]{\setlength{\rightskip}{0pt plus 5cm}{\bf z800\_\-bool} z800\_\-write\_\-property ({\bf z800\_\-device} $\ast$ {\em dev}, \/  const char $\ast$ {\em name}, \/  int {\em value}, \/  {\bf z800\_\-bool} {\em right\_\-display})}}
\label{libz800_8h_ab0233bf367434b037ace507d94078a7d}
Writes a EEPROM propery's value in the device.


\begin{DoxyParams}{Parameters}
\item[{\em dev}]Device to write the data to. \item[{\em name}]Then name of the property. \item[{\em value}]New value of the property. \item[{\em right\_\-display}]Whether to access the right or left's display property.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Z800\_\-TRUE on success. 

Z800\_\-FALSE on failure.
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Currently not implemented. 
\end{DoxyNote}
